package top.glkj.hms.service;

import top.glkj.hms.entity.Resource;
import top.glkj.hms.utils.Result;

import java.util.List;
import java.util.Map;

/**
 * @author : xgl
 * @version : 0.0.1
 * @date :2020/11/16 23:42
 */
public interface ResourceService extends BaseService<Resource> {
    /**
     * 查询数据库中所有路径
     *
     * @return 数据库中所有路径
     */
    public List<Resource> findAllResource();

    /**
     * 更新资源
     *
     * @param resource 资源
     * @return 更新结果
     */
    public Result updateResource(Resource resource);
    /**
     * 添加资源
     *
     * @param resource
     * @return 更新结果
     */
    public Result addResource(Resource resource);
    /**
     * 删除资源
     * @param rid 资源id
     * @return 更新结果
     */
    public Result deleteResource(long rid);
    /**
     * 分页查询
     *
     * @param page 当前页码
     * @param size 页面大小
     * @return page Role
     */
    Result getResourcesByPageAndSize(int page, int size);

    /**
     * 分页条件查询
     *
     * @param page    当前页码
     * @param size    页面大小
     * @param argName 参数名
     * @param value   参数值
     * @return page User
     */
    Result getAllResourcesByPageAndSizeAndArgs(int page, int size, String argName, String value);

    /**
     * 分页查询
     *
     * @param page 当前页码
     * @param size 页面大小
     * @param args 参数键值对
     * @return page User
     */
    Result getAllResourcesByPageAndSizeAndAnyArgs(int page, int size, Map<String, String> args);


    /**
     * 获取url
     * @return url
     */
    public String getUrl();


}
